use crate::memory::MemBlock;
use crate::register::stack::StackFrame;

pub mod stack;

pub struct Register {
    /// 基础寄存器
    ax: usize,
    bx: usize,
    cx: usize,
    dx: usize,
    /// 变址寄存器
    si: usize,
    di: usize,
    /// 堆栈指针寄存器
    bp: usize,
    sp: usize,
    /// 判断标签 用于存储值比较后的结果
    ef: usize,
    /// 下一个执行指令坐标
    ip: usize,
    /// 栈内存
    stack_mem: MemBlock,
    stack_frame_chain: Vec<StackFrame>,
}